package com.lazy.book.service.system;

import com.lazy.book.pojo.system.pojo.dto.sysdict.SysDictCreateDTO;
import com.lazy.book.pojo.system.pojo.dto.sysdict.SysDictListDTO;
import com.lazy.book.pojo.system.pojo.dto.sysdict.SysDictUpdateDTO;
import com.lazy.book.pojo.system.pojo.po.SysDict;
import com.mybatisflex.core.service.IService;
import com.sz.core.common.entity.PageResult;
import com.sz.core.common.entity.SelectIdsDTO;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @author lay
 * @since 2025-09-05
 */
public interface SysDictService extends IService<SysDict> {

    void create(SysDictCreateDTO dto);

    void update(SysDictUpdateDTO dto);

    PageResult<SysDict> page(SysDictListDTO dto);

    List<SysDict> list(SysDictListDTO dto);

    void remove(SelectIdsDTO dto);

    SysDict detail(Object id);

    List<Map<String, Object>> getDictDataByTypeCode(String typeCode);

    Set<String> getDictTypeByTypeName(String typeName);
}
